of{
  return new MockEjbDescriptor<T>(type);
}
MockEjbDescriptor{
  this.localInterfaces=new ArrayList<BusinessInterfaceDescriptor<?>>();
  Local localAnnotation=type.getAnnotation(Local.class);
    for (    final Class<?> clazz : localAnnotation.value()) {
      localInterfaces.add(createBusinessInterfaceDescriptor(clazz));
  for (  final Class<?> clazz : type.getInterfaces()) {
    if (clazz.isAnnotationPresent(Local.class)) {
      localInterfaces.add(createBusinessInterfaceDescriptor(clazz));
  this.remoteInterfaces=new ArrayList<BusinessInterfaceDescriptor<?>>();
  Remote remoteAnnotation=type.getAnnotation(Remote.class);
  if (remoteAnnotation != null) {
    for (    final Class<?> clazz : remoteAnnotation.value()) {
      remoteInterfaces.add(createBusinessInterfaceDescriptor(clazz));
  for (  final Class<?> clazz : type.getInterfaces()) {
    if (clazz.isAnnotationPresent(Remote.class)) {
      remoteInterfaces.add(createBusinessInterfaceDescriptor(clazz));
    localInterfaces.add(createBusinessInterfaceDescriptor(type));
  this.removeMethods=new HashSet<Method>();
  for (  final Method method : type.getMethods()) {
    if (method.isAnnotationPresent(Remove.class)) {
      removeMethods.add(method);
}
createBusinessInterfaceDescriptor{
  return new BusinessInterfaceDescriptor<Object>(){
}
getInterface{ }
getEjbName{ }
getLocalBusinessInterfaces{ }
getRemoteBusinessInterfaces{ }
getRemoveMethods{ }
getBeanClass{ }
isMessageDriven{
  return beanClass.isAnnotationPresent(MessageDriven.class);
}
isSingleton{
  return beanClass.isAnnotationPresent(Singleton.class);
}
isStateful{
  return beanClass.isAnnotationPresent(Stateful.class);
}
isStateless{
  return beanClass.isAnnotationPresent(Stateless.class);
}
getLocalJndiName{
  return beanClass.getSimpleName() + "/local";
}
toString{
  builder.append(getEjbName());
  if (isStateful()) {
    builder.append(" (SFSB)");
  if (isStateless()) {
  if (isSingleton()) {
    builder.append(" (Singleton)");
  if (isMessageDriven()) {
    builder.append(" (MDB)");
  return builder.toString();
}
